struct _FADT// Size=0x114
{
    struct _DESCRIPTION_HEADER Header;// Offset=0x0 Size=0x24
    unsigned long facs;// Offset=0x24 Size=0x4
    unsigned long dsdt;// Offset=0x28 Size=0x4
    unsigned char int_model;// Offset=0x2c Size=0x1
    unsigned char pm_profile;// Offset=0x2d Size=0x1
    unsigned short sci_int_vector;// Offset=0x2e Size=0x2
    unsigned long smi_cmd_io_port;// Offset=0x30 Size=0x4
    unsigned char acpi_on_value;// Offset=0x34 Size=0x1
    unsigned char acpi_off_value;// Offset=0x35 Size=0x1
    unsigned char s4bios_req;// Offset=0x36 Size=0x1
    unsigned char pstate_control;// Offset=0x37 Size=0x1
    unsigned long pm1a_evt_blk_io_port;// Offset=0x38 Size=0x4
    unsigned long pm1b_evt_blk_io_port;// Offset=0x3c Size=0x4
    unsigned long pm1a_ctrl_blk_io_port;// Offset=0x40 Size=0x4
    unsigned long pm1b_ctrl_blk_io_port;// Offset=0x44 Size=0x4
    unsigned long pm2_ctrl_blk_io_port;// Offset=0x48 Size=0x4
    unsigned long pm_tmr_blk_io_port;// Offset=0x4c Size=0x4
    unsigned long gp0_blk_io_port;// Offset=0x50 Size=0x4
    unsigned long gp1_blk_io_port;// Offset=0x54 Size=0x4
    unsigned char pm1_evt_len;// Offset=0x58 Size=0x1
    unsigned char pm1_ctrl_len;// Offset=0x59 Size=0x1
    unsigned char pm2_ctrl_len;// Offset=0x5a Size=0x1
    unsigned char pm_tmr_len;// Offset=0x5b Size=0x1
    unsigned char gp0_blk_len;// Offset=0x5c Size=0x1
    unsigned char gp1_blk_len;// Offset=0x5d Size=0x1
    unsigned char gp1_base;// Offset=0x5e Size=0x1
    unsigned char cstate_control;// Offset=0x5f Size=0x1
    unsigned short lvl2_latency;// Offset=0x60 Size=0x2
    unsigned short lvl3_latency;// Offset=0x62 Size=0x2
    unsigned short flush_size;// Offset=0x64 Size=0x2
    unsigned short flush_stride;// Offset=0x66 Size=0x2
    unsigned char duty_offset;// Offset=0x68 Size=0x1
    unsigned char duty_width;// Offset=0x69 Size=0x1
    unsigned char day_alarm_index;// Offset=0x6a Size=0x1
    unsigned char month_alarm_index;// Offset=0x6b Size=0x1
    unsigned char century_alarm_index;// Offset=0x6c Size=0x1
    unsigned short boot_arch;// Offset=0x6d Size=0x2
    unsigned char reserved3[1];// Offset=0x6f Size=0x1
    unsigned long flags;// Offset=0x70 Size=0x4
    struct _GEN_ADDR reset_reg;// Offset=0x74 Size=0xc
    unsigned char reset_val;// Offset=0x80 Size=0x1
    unsigned short arm_boot_arch;// Offset=0x81 Size=0x2
    unsigned char minor_version_number;// Offset=0x83 Size=0x1
    union _LARGE_INTEGER x_firmware_ctrl;// Offset=0x84 Size=0x8
    union _LARGE_INTEGER x_dsdt;// Offset=0x8c Size=0x8
    struct _GEN_ADDR x_pm1a_evt_blk;// Offset=0x94 Size=0xc
    struct _GEN_ADDR x_pm1b_evt_blk;// Offset=0xa0 Size=0xc
    struct _GEN_ADDR x_pm1a_ctrl_blk;// Offset=0xac Size=0xc
    struct _GEN_ADDR x_pm1b_ctrl_blk;// Offset=0xb8 Size=0xc
    struct _GEN_ADDR x_pm2_ctrl_blk;// Offset=0xc4 Size=0xc
    struct _GEN_ADDR x_pm_tmr_blk;// Offset=0xd0 Size=0xc
    struct _GEN_ADDR x_gp0_blk;// Offset=0xdc Size=0xc
    struct _GEN_ADDR x_gp1_blk;// Offset=0xe8 Size=0xc
    struct _GEN_ADDR sleep_control_reg;// Offset=0xf4 Size=0xc
    struct _GEN_ADDR sleep_status_reg;// Offset=0x100 Size=0xc
    unsigned long long hypervisor_vendor_identity;// Offset=0x10c Size=0x8
};